Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Розробка та реалізація компонент системного програмного забезпечення

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2012
Тип роботи:
Курсовий проект
Предмет:
Комп’ютерна схемотехніка

Частина тексту файла

Міністерство освіти і науки, молоді та спорту Національний університет “Львівська політехніка” Кафеда СКС Курсоий проект з курсу “Системне програмне забезпечення” Анотація В даному курсовому проекті розроблено компілятор з СІ-подібної вхідної мови програмування . Компілятор розроблений в середовищі програмування Microsoft Visual C++ на мові ANSI С, та поданий у пояснювальній записці, а також в електронному варіанті. В пояснювальній записці подано огляд існуючих методів розробки компіляторів, детальний опис мови, а також описано процес розробки програми компілятора на рівні блок-схем і тексту програми. До проекту додано результати тестування програми. Зміст Анотація 2 Зміст 3 Завдання 4 Формальний опис вхідної мови програмування 6 Деталізований опис вхідної мови 6 Перелік термінальних символів та ключових слів 6 Формальний опис вхідної мови в термінах BNF 6 Правила написання правил у розширеній нотації Бекуса-Наура: 6 Формальний опис заданої вхідної мови в термінах BNF 8 Повне дерево граматичного розбору 9 Розробка компілятора вхідної мови програмування 11 Лексичний аналiз 13 Синтаксичний аналiз 14 Генерація коду 15 Відладка та тестування компілятора 16 Робоча програма test1.txt 16 Текст програми 16 Результат лексичного аналізу 16 Результат синтаксичного аналізу 17 Результат генерації коду 17 Програма з помилкою test2.txt 18 Текст програми 18 Результат лексичного аналізу 18 Результат синтаксичного аналізу 19 Висновки 20 Література 21 Додатки 22 Текст програми 22 Завдання Розробити компілятор заданої вхідної мови програмування, до якої висуваються наступні вимоги: Кожна програма починається зі слова begin і закінчується словом end. Все що до begin і після end не аналізується. Наприклад як у мові Паскаль begin end. Програма має надавати можливість працювати зі змінними таких типів: Integer – цілі числа; Char – символи; Real – дійсні числа; String – рядки символів. Змінні перед використанням мають бути попередньо оголошені за наступним форматом: “тип даних” “змінна”; Наприклад integer x; Присвоєння до змінних виконується оператором присвоєння >> Наприклад x >> y + 5; Над змінними виконуються наступні операції. Арифметичні: +,-,*,/ додавання, віднімання, множення, ділення; ^ піднесення до степеня; % обчислення залишку; Логічні: ==,!= рівність, нерівність; >,<,>=,<= більше, менше, більше-рівне, менше-рівне; !,&,| логічні операції NOT, AND, OR. Ввід даних зі стандартного вводу відбувається оператором read, а вивід оператором write. Наприклад read x; write y. Для виконання умовних дій використовується оператор if-then. Наприклад if ( a > b ) then a >> b; Програмування циклів забезпечується оператором for-to-do. Наприклад for ( i >> 1 to 5) < оператори > do. Цільова мова компілятора ANSI C. Мова розробки компілятора: ANSI C. Потрібно також розробити інтегроване середовище, яке б включало текстовий редактор з можливістю набору, редагування програми; зчитування та запису її з/на диск, запуску трансляції. На вхід розробленого компілятора має подаватися текстовий файл, написаний на заданій мові програмування. На виході розробленого компілятора мають з’являтися три файли: файл з результатом лексичного аналізу, файл з результатом синтаксичного аналізу, файл з результуючим файлом на мові С. Для захисту курсового проекту потрібно мати: пояснювальну записку, файл з вихідним текстом компілятора на мові ANSI C або C++, виконавчий файл компілятора, набір тестових програм та вхідній мові програмування. Формальний опис вхідної мови програмування Одною з перших задач, що виникають при побудові компілятора, є визначення вхідної мови програмування. Для цього використовують різні способи формального опису, серед яких я використаю розширену нотацію Бекуса-Наура (Backus/Naur Form - BNF). Деталізований опис вхідної мови Типи даних integer, char, real, string; Арифметичні операції над числами +, -, *, /, ^, %; Логічні операції ==,!=,>,<,>=,<=,!,&,|; Оператор присвоєння значень змінним >> ; Круглі дужки ( ); Оператори вводу-виводу read, write;...
Антиботан аватар за замовчуванням

22.11.2013 01:11

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини